home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-21
/
dvmacros.zip
/
DV_SEND.MAC
< prev
Wrap
Text File
|
1993-03-03
|
5KB
|
167 lines
.xlist
; @SEND MSG,MODIF
; Daniel T. Travison Jr. 01/01/88
; converts MSG to a valid message number and puts in BH
; converts the MODIF to a modifier number and puts in BL
; sets AH to 12h
; executes INT 15H
@SEND MACRO MSG,MODIF
IFIDN <MSG>,<OBJECT>
MOV BH,0 ;return object handle
ELSE
IFIDN <MSG>,<NEW>
MOV BH,1 ;create new object
ELSE
IFIDN <MSG>,<FREE>
MOV BH,2 ;free an object
ELSE
IFIDN <MSG>,<ADDR>
MOV BH,3 ;return object handle
ELSE
IFIDN <MSG>,<READ>
MOV BH,4 ;return next record
ELSE
IFIDN <MSG>,<APPLY>
MOV BH,4 ;write panel to window
ELSE
IFIDN <MSG>,<WRITE>
MOV BH,5 ;write string to object
ELSE
IFIDN <MSG>,<SIZEOF>
MOV BH,8 ;return object size
ELSE
IFIDN <MSG>,<LEN>
MOV BH,9 ;return object length
ELSE
IFIDN <MSG>,<ADDTO>
MOV BH,10 ;set bits
ELSE
IFIDN <MSG>,<SUBFROM>
MOV BH,11 ;reset bits
ELSE
IFIDN <MSG>,<OPEN>
MOV BH,12 ;open object
ELSE
IFIDN <MSG>,<CLOSE>
MOV BH,13 ;close object
ELSE
IFIDN <MSG>,<ERASE>
MOV BH,14 ;erase object
ELSE
IFIDN <MSG>,<STATUS>
MOV BH,15 ;return object status
ELSE
IFIDN <MSG>,<EOF>
MOV BH,16 ;return object EOF status
ELSE
IFIDN <MSG>,<AT>
MOV BH,17 ;position object cursor
ELSE
IFIDN <MSG>,<READLN>
MOV BH,18 ;return next N object bytes
ELSE
IFIDN <MSG>,<GETSCALE>
MOV BH,18 ;get scale factor for pointer
ELSE
IFIDN <MSG>,<REDRAW>
MOV BH,19 ;redraw window
ELSE
IFIDN <MSG>,<SETICON>
MOV BH,19 ;specify pointer icon
ELSE
IFIDN <MSG>,<SETSC>
MOV BH,20 ;set escape routine address
ELSE
.ERR
%OUT Invalid message type %MSG
EXITM
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
IFIDN <MODIF>,<TOS>
MOV BL,0 ;handle is on top of stack
ELSE
IFIDN <MODIF>,<ME>
MOV BL,1 ;use task's window handle
ELSE
IFIDN <MODIF>,<MAILTOS>
MOV BL,2 ;use MAILBOX as handle (TOS)
ELSE
IFIDN <MODIF>,<MAILME>
MOV BL,3 ;use MAILBOX as handle (ME)
ELSE
IFIDN <MODIF>,<KEYTOS>
MOV BL,4 ;use KEYBOARD as handle (TOS)
ELSE
IFIDN <MODIF>,<KEYME>
MOV BL,5 ;use KEYBOARD as handle (ME)
ELSE
IFIDN <MODIF>,<OBJQTOS>
MOV BL,6 ;use OBJECTQ as handle (TOS)
ELSE
IFIDN <MODIF>,<OBJQME>
MOV BL,7 ;use OBJQME as handle (ME)
ELSE
IFIDN <MODIF>,<WINDOW>
MOV BL,8 ;define WINDOW class
ELSE
IFIDN <MODIF>,<MAILBOX>
MOV BL,9 ;define MAILBOX class
ELSE
IFIDN <MODIF>,<KEYBOARD>
MOV BL,10 ;define KEYBOARD class
ELSE
IFIDN <MODIF>,<TIMER>
MOV BL,11 ;define TIMER class
ELSE
IFIDN <MODIF>,<POINTER>
MOV BL,15 ;define POINTER class
ELSE
IFIDN <MODIF>,<PANEL>
MOV BL,16 ;define PANEL class
ELSE
.ERR
%OUT Invalid Modifier (%MODIF)
EXITM
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
MOV AH,12h
INT 15h
ENDM
.list